In [1]:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from scipy import signal
template = np.array([[0,0,0],[0,1,1],[0,1,0]])
print('template (kernel) =\n',template)
image = np.array([[0,0,0,0,0],[0,0,0,0,0],[0,0,1,1,0],[0,0,1,1,0],[0,0,1,0,0]])
print('Imagem/array a ser inspecionado =\n',image)
corr = signal.correlate2d(image, template, boundary='symm', mode='same')
y, x = np.unravel_index(np.argmax(corr), corr.shape) # Encontrar a correspondencia: Converte um índice simples ou uma matriz de índices simples em uma tupla de matrizes de coordenadas
#TENTAR IMPLEMENTAR A CORRELAÇÃO SEM BIBLIOTECA
#print(np.argmax(corr))
#print(corr.shape)
#print(y,x)
corr.astype(int)
print('Resultado da correlação =\n',corr)
In [2]:
corr = signal.correlate2d(image, template, boundary='symm', mode='same')
y, x = np.unravel_index(np.argmax(corr), corr.shape) # Encontrar a correspondencia: Converte um índice simples ou uma matriz de índices simples em uma tupla de matrizes de coordenadas
print(np.argmax(corr))
print(corr.shape)
print(y,x)
corr.astype(int)
print(template)
print(corr)
#plt.imshow(template, cmap='gray')
In [3]:
fig, (ax_orig, ax_template, ax_corr, ax_result) = plt.subplots(4, 1, figsize=(6, 15))
ax_orig.imshow(image, cmap='gray')
ax_orig.set_title('Original')
#ax_orig.set_axis_off()
ax_template.imshow(template, cmap='gray')
ax_template.set_title('Template')
ax_template.set_axis_off()
ax_corr.imshow(corr, cmap='gray')
ax_corr.set_title('Cross-correlation')
ax_corr.set_axis_off()
ax_result.imshow(image, cmap='gray')
ax_result.set_title('Resultado da correspondência')
ax_result.set_axis_off()
ax_result.plot(x, y, 'ro')
fig.show()
In [4]:
h,g = np.histogram(corr,255)
plt.plot(h)
plt.show()
In [ ]: